草庐IT

php - setTimeout 与 ajax 聊天

全部标签

javascript - 禁用 Jest setTimeout 模拟

我正在为依赖于websocket库的代码编写Jest测试。websocket库被模拟。我想发送一条消息,等待异步操作完成,然后检查响应。it('sendsamessageandgetsaresponse',()=>{processor(ws).sendMessage()//doabunchofasyncstuff,callwebsocket.sendMessage()setTimeout(()=>{expect(ws.getResponse()).toEqual('alldone')},100)})不幸的是,因为Jest模拟了setTimeout,所以setTimeout失败了。如果我

javascript - 无法使用 AJAX 上传大于 50kb 的文件

虽然我在本地主机上工作正常,但我不确定为什么我的下面的代码不能处理我主机上任何大于50kb的文件。我测试了许多不同的文件大小,我很确定50kb是它的极限。如果文件大于50kb,则永远不会将其传递给process.php。如果一个文件小于50kb,它会被传递给process.phpok。有没有人可以帮我解决这个问题。我被这个问题困了几个小时。我确实在php.ini中将upload_max_filesize设置为5M。$(document).ready(function(){$('#img_uploader').on('change',function(){uploadFiles(this

javascript - 来自不同域的 Greasemonkey AJAX 请求?

我正在尝试让JavaScript(使用Greasemonkey)从我自己的站点中提取数据以自定义另一个站点。我使用的代码如下:functiongetURL(url,func){varxhr=newXMLHttpRequest();xhr.open("GET",url,true);xhr.onload=function(e){if(xhr.readyState==4){if(xhr.status==200){func(xhr.responseText,url);}else{alert(xhr.statusText,0);}}};xhr.onerror=function(e){alert(

javascript - JavaScript 是否为非阻塞 AJAX 生成线程?

一般的看法是JavaScript本质上是单线程的,但它可以异步运行。我想知道像这样的单线程模型如何处理非阻塞的AJAX请求?假设在浏览器中触发了一个非阻塞AJAX请求,但没有立即得到响应。如果事件循环不断检查响应,执行不会被阻塞吗?事件循环是否不断检查其状态并在没有响应时将任务“重新添加”到宏任务队列的后面?据我了解,Node.js会静默生成线程来处理访问磁盘、数据库、网络套接字等的I/O操作。浏览器中的JavaScript是否也会生成线程来处理AJAX?可以针对以下问题提出类似的问题:varimg=newImage();img.onerror=function(){alert('er

javascript - 如何让 jQuery 将自定义参数传递给异步 AJAX 回调函数?

我的页面处理许多“商店”对象,每个对象都有一个名为“数据”的字段。但是,此数据是通过可能并行进行的AJAX请求获取的。functionStore(id){this.id=id;this.queryparam='blah';this.items=null;}Store.prototype.fetch=function(){$.get("/get_items",{q:this.quaryparam},function(data,status){//howtostorethereceiveddatainthisparticularstoreobject?Being//acallbackfun

javascript - 通过ajax加载JavaScript的好实践方法

免责声明:我是AJAX新手!我环顾四周,我不确定使用哪种方法来使用ajax加载javascript。我正在使用ajax请求页面,每个页面都需要自己的6-10个简短方法。总共可能有5-6个这样的页面,因此总共大约有35种以上的方法。我更愿意在每个需要它的页面加载时访问必要的javascript。我看过几种方法,但我不确定哪种方法最适合我的需要:在头部包含一个空的script元素,并通过操纵src属性。DOM。通过创建一个新的脚本元素。DOM并将其附加到document.body(这听起来与#1相同)。jQuery(我已经在使用)有一个ajaxgetScript()方法。我还没有读过任何相

javascript - jQuery AJAX "undo helper"

基于AJAX的UI中的常见模式是,当用户执行操作时,它会立即反射(reflect)在UI中,但在到达AJAX响应确认一切正常之前被标记为未完成。这就是例如在谷歌日历中添加一个事件是有效的。当出现错误时,该临时UI更改将被还原。现在,手动执行这样的还原并不太有创意,所以我怀疑jQuery中有一些“撤消助手”,它允许保留UI元素的状态,然后恢复它-一种属性堆栈或类似的东西那。这甚至与AJAX没有任何关系。有这样的东西吗? 最佳答案 在这种情况下,我总是发现状态机是可行的方法。设计您的页面/JavaScript,以便在任何时间点您可以指定

javascript - 如何在 jquery 中获取多个延迟调用的 ajax 结果?

我正在尝试让jquery延迟工作,如下面的代码所示。varappUrls={GetDataUrl:'@Url.Action("GetData")'};functionGetData1(){return$.getJSON(appUrls.GetDataUrl,{Id:1});}functionGetData2(){return$.getJSON(appUrls.GetDataUrl,{Id:2});}$(function(){$("#result").html("GettingData1,Data2....");$.when(GetData1(),GetData2()).then(fun

javascript - SetTimeout 后获取返回值

我刚才问了关于按名称调用函数的问题,现在我想在SetTimeout之后处理return语句:functionECall(funcName,arg){command+="(";for(vari=1;isetTimeout效果很好,但我必须保存被调用函数的返回值。当我写:setTimeout('alert(window[\''+funcName+'\']'+command+')',1000);它提醒函数的返回值。我该如何存储它? 最佳答案 您不需要使用任何这种字符串操作。只需将函数引用传递给window.setTimeout()。要存储

javascript - 哪个更适合 jQuery.ajax 调用? .Net Web 服务还是 .ashx?

我最近一直在练习jQuery.ajax()。我已经开始学习调用.Net网络服务qithjQuery.ajax()。现在我正在考虑是否要仅jQuery.ajax()调用服务器上的某些服务方法;使用.NetWeb服务是否仍然有意义,或者我应该改用.ashx处理程序?谢谢! 最佳答案 来自theASP.NETforums的两句话:Unlessit'sanextremelyhighloadsituation,you'llfindthatallthreeperformnearlyidentically.Theperformanceofyour